package top.suven.base.http.admin.order.service;

import top.suven.base.core.mybatis.PageData;
import top.suven.base.http.admin.order.model.Order;
import top.suven.base.http.admin.order.vo.response.OrderResponseVo;
import top.suven.base.http.admin.order.vo.response.OrderStatisticsVo;

import java.util.List;

/**
 * @Title: OrderWebService.java
 * @Description: 订单的业务处理服务类
 * @author lixiangling
 * @date   2018/08/28 16:02:10
 * @version  V1.0.0
 * ----------------------------------------------------------------------------
 *  modifyer    modifyTime                 comment
 *
 * ----------------------------------------------------------------------------
 *
 */
public interface OrderWebService {
    /**
     * @Title: 获取订单分页信息
     * @Description:
     * @param order @{Link Order}
     * @return
     * @throw
     * @author lixiangling
     * @date 2018/08/28 16:02:10
     *  --------------------------------------------------------
     *  modifyer    modifyTime                 comment
     *
     *  --------------------------------------------------------
     */
    public PageData<OrderResponseVo> getOrderPage(Order order, int start, int pageSize);
   /**
    * @Title: 获取订单列表信息
    * @Description:
    * @param order @{Link Order}
    * @return
    * @throw
    * @author lixiangling
    * @date 2018/08/28 16:02:10
    *  --------------------------------------------------------
    *  modifyer    modifyTime                 comment
    *
    *  --------------------------------------------------------
    */
    public List<Order> getOrderList(Order order);
    /**
     * @Title: 新增订单信息
     * @Description:
     * @param order @{Link Order}
     * @return
     * @throw
     * @author lixiangling
     * @date 2018/08/28 16:02:10
     *  --------------------------------------------------------
     *  modifyer    modifyTime                 comment
     *
     *  --------------------------------------------------------
     */
    public void addOrder(Order order);
    /**
    * @Title: 修改订单信息
    * @Description:
    * @param order @{Link Order}
    * @return
    * @throw
    * @author lixiangling
    * @date 2018/08/28 16:02:10
    *  --------------------------------------------------------
    *  modifyer    modifyTime                 comment
    *
    *  --------------------------------------------------------
    */
    public void updOrder(Order order);
   /**
    * @Title: 获取订单信息
    * @Description:
    * @param id @{Link String}
    * @return
    * @throw
    * @author lixiangling
    * @date 2018/08/28 16:02:10
    *  --------------------------------------------------------
    *  modifyer    modifyTime                 comment
    *
    *  --------------------------------------------------------
    */
    public Order getOrder(String id);
    /**
     * @Title: 删除订单信息
     * @Description:id @{Link String[]}
     * @param
     * @return
     * @throw
     * @author lixiangling
     * @date 2018/08/28 16:02:10
     *  --------------------------------------------------------
     *  modifyer    modifyTime                 comment
     *
     *  --------------------------------------------------------
     */
    public void del(String[] ids);
   /**
    * @Title: 启用订单信息
    * @Description:id @{Link String[]}
    * @param
    * @return
    * @throw
    * @author lixiangling
    * @date 2018/08/28 16:02:10
    *  --------------------------------------------------------
    *  modifyer    modifyTime                 comment
    *
    *  --------------------------------------------------------
    */
    public void turnOn(String[] ids);
   /**
    * @Title: 禁用订单信息
    * @Description:id @{Link String[]}
    * @param
    * @return
    * @throw
    * @author lixiangling
    * @date 2018/08/28 16:02:10
    *  --------------------------------------------------------
    *  modifyer    modifyTime                 comment
    *
    *  --------------------------------------------------------
    */
    public void turnOff(String[] ids);
    /**
     * @Title: 获取两天内转换的付费用户数量
     * @Description:
     * @param
     * @return
     * @throw
     * @author lixiangling
     * @date 2018/8/28 16:59
     *  --------------------------------------------------------
     *  modifyer    modifyTime                 comment
     *
     *  --------------------------------------------------------
     */
    public OrderStatisticsVo getTwoDayPaidUserConversion();
}